// 当前是SPU数据相关的接口函数

// 1.引入异步对象
import request from '@/utils/request'

// 2.使用枚举来存储接口
enum SpuApi {
  // 查询SPU数据列表项的API接口
  getSpuListApi = '/admin/product',
  // 添加SPU对象时的接口
  saveSpuInfoApi = '/admin/product/saveSpuInfo',
  // 更新SPU对象时的接口
  updateSpuInfoApi = '/admin/product/updateSpuInfo',
  // 删除SPU对象时的接口
  deleteSpuApi = '/admin/product/deleteSpu',
  // 获取所有的trademark品牌列表数据
  getTrademarkListApi = '/admin/product/baseTrademark/getTrademarkList',
  // 获取所有的销售属性
  baseSaleAttrListApi = '/admin/product/baseSaleAttrList',
  // 获取编辑spuInfo时的图片列表 或是spuId获取的图片列表
  getSpuImageListApi = '/admin/product/spuImageList',
  // 根据spuId获取销售属性列表
  getSpuSaleAttrListApi = '/admin/product/spuSaleAttrList'
}

// 3.1 书写获取spu列表项的接口函数
export const reqGetSpuListData = (page: number, limit: number, category3Id: number) => {
  return request.get<any, any>(SpuApi.getSpuListApi + `/${page}/${limit}?category3Id=${category3Id}`)
}

// 3.2 获取添加SPU对象时的所有品牌
export const reqGetTrademarkListData = () => {
  return request.get(SpuApi.getTrademarkListApi)
}

// 3.3 获取添加SPU对象时的所对应的所有销售属性
export const reqGetBaseSaleAttrListData = () => {
  return request.get(SpuApi.baseSaleAttrListApi)
}

// 3.4 添加spuInfo的接口函数
export const reqSaveSpuInfo = (spuInfo) => {
  return request.post(SpuApi.saveSpuInfoApi, spuInfo)
}

// 3.5 删除一页spuInfo数据
export const reqDeleteOneSpuInfo = (id: number) => {
  return request.delete(SpuApi.deleteSpuApi + `/${id}`)
}

// 3.6 更新spuInfo
export const reqUpdateSpuInfo = (spuInfo) => {
  return request.post(SpuApi.updateSpuInfoApi, spuInfo)
}

// 3.7 根据spuId获取图片列表
export const reqGetSpuImageList = (spuId) => {
  return request.get(SpuApi.getSpuImageListApi + `/${spuId}`)
}

// 3.8 根据spuId获取销售属性列表
export const reqGetSpuSaleAttrList = (spuId) => {
  return request.get(SpuApi.getSpuSaleAttrListApi + `/${spuId}`)
}